Mobile devices, such as mobile telephones (sometimes called “cell phones”) and personal digital assistants (“PDAs”), are becoming used more are more frequently. These devices more and more often provide at least some Internet access to the users of those devices. Such a device typically is capable of executing application programs (“applications”) that are stored on some storage mechanism of that device, such as a small hard disk drive, solid-state drive, memory card, or flash memory. In order to generate revenue, the developers of such applications sometimes code the applications to display advertisements (or “ads”) to the users of those applications. However, if the advertisements remain the same over a longer period of time, then the advertisements might become stale or irrelevant.
In order to reduce the chance that an application will display a stale advertisement to the user of that application, an application developer might code his application to download an advertisement over the Internet from an advertisement server. Because the advertisement server's store of advertisements may be updated and refreshes from time to time, the advertisements that the application downloads from the advertisement server and displays to the application user are more likely to be fresh and relevant to the time at which the user uses the application.
Usually, though, an application will not attempt to download an advertisement until that application starts; indeed, until the application begins to execute on the client device, the application is not capable of attempting to download any advertisement. Because the application attempts to download one or several advertisements at the time that the application starts up, the time taken for the application to start up is increased. The application user typically finds the resulting delay to be detrimental to his experience in using the application. After instructing their client devices to start an application, users almost universally dislike waiting for long periods of time for their applications to load and start. However, if the application is coded in a way such that the presentation to the user will not be complete until the application has an advertisement to display to the user, then the application really cannot continue to execute until the application has obtained an advertisement from the advertisement server.
The delay referred to above is increased, and the detriment to the application user's experience is exacerbated, when the client device for one reason or another does not have access to high-speed Internet. There are various reasons why a client device's connection to the Internet might be slow. The client device, being small and mobile, and relatively inexpensive, might not have been designed with the most advanced network communication interfaces. Additionally, because such devices are mobile, the manner in which those devices communicate over the Internet is usually wireless. Wireless Internet communications are more susceptible to interference and poor signal strength than are communications that travel over guided media. As a result, mobile client devices that access the Internet wirelessly often suffer from increased latency, which causes applications executing on those mobile device to have to wait longer to obtain advertisements over the Internet. Even devices which are not mobile may experience increased communication latency if those devices are situated in regions in which the Internet communications infrastructure has not yet matured.
Under some circumstances, a mobile device user might be traveling from an area where a wireless Internet connection is available into another area where that wireless connection is unavailable. If the mobile device attempts to download an advertisement while the user is in an area where the wireless connection is unavailable, then the download may fail, and the advertisement might not display in the application at all.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.